草庐IT

Android JSONObject 与 GSON

全部标签

java - 强制 GSON 使用特定的构造函数

publicclassUserAction{privatefinalUUIDuuid;privateStringuserId;/*morefields,settersandgettershere*/publicUserAction(){this.uuid=UUID.fromString(newcom.eaio.uuid.UUID().toString());}publicUserAction(UUIDuuid){this.uuid=uuid;}@Overridepublicbooleanequals(Objectobj){if(obj==null){returnfalse;}if(ge

java - 如何使用 GSON 将 List 转换为 JSON 对象?

我有一个需要使用GSON将其转换为JSON对象的列表。我的JSON对象中有JSON数组。publicclassDataResponse{privateListapps;//gettersandsetterspublicstaticclassClientResponse{privatedoublemean;privatedoubledeviation;privateintcode;privateStringpack;privateintversion;//gettersandsetters}}下面是我的代码,我需要将我的列表转换为其中包含JSON数组的JSON对象-publicvoidm

java - 如何使用 Gson 序列化和反序列化 Java 8 的 java.time 类型?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭7年前。Improvethisquestion我正在使用GSON将一些对象图序列化为JSON。这些对象图使用新的Java8java.time实体(ZonedDateTime、OffsetDateTime、LocalTime等)。我找到了一个用于Joda时间序列化程序的库here-JDKjava.time类是否有等效库?(Thisperson未能成功将GSON与java.time结合使用-他们的问题仍未

java - com.google.gson.internal.LinkedHashTreeMap 无法转换为我的对象

我的JSON文件看起来像{"SUBS_UID":{"featureSetName":"SIEMENSGSMTELEPHONYMULTISIM","featureName":"MULTISIMIMSI","featureKey":[{"key":"SCKEY","valueType":0,"value":"0"}]},}所以键是一个字符串“SUBS_ID”,值是一个名为FeatureDetails的模型,其中包含属性“featureSetName,featureName,...”。所以我像这样使用google.jsonlib从JSON文件中读取,HashMapfeaturesFromJs

java - 如何使用 GSon 公开方法?

使用Play框架,我通过GSON序列化我的模型。我指定哪些字段是公开的,哪些不公开。这很好用,但我也想@expose方法。当然,这也太简单了。我该怎么做?感谢您的帮助!publicclassAccountextendsModel{@ExposepublicStringusername;@ExposepublicStringemail;publicStringpassword;@Expose//Ofcourse,thisdon'tworkpublicStringgetEncodedPassword(){//...}} 最佳答案 我遇到

java - Gson Java 保留关键字

我有一些JSON正在使用Gson反序列化。{"resp":{"posts":[{..."public":true,...}]}我的问题是public是一个Java关键字,那么如何在我的类中创建一个与JSON中的public字段相关的字段? 最佳答案 您可以为您的字段使用不同的名称,使用gson的FieldNamingSupport.publicclassPost{@SerializedName("public")privatebooleanisPublic;...} 关于java-Gso

java - Gson - 无法解析的日期

我必须将Json对象与具有Date的java对象绑定(bind)。我的Json上的日期格式如下:2013-01-04T10:50:26+0000我使用GsonBulder如下:Gsongson=newGsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").create();但我得到以下异常:TheRuntimeExceptioncouldnotbemappedtoaresponse,re-throwingtotheHTTPcontainercom.google.gson.JsonSyntaxException:2013-01-04T1

java - 如何在 RetroFit 中使用 Gson 转换器?

我正在为教育目的制作一个简单的RetroFit应用程序,并使用IntelliJIDEA作为我的IDE。我已经正确导入了Retrofit库(至少我认为我已经导入了),但我无法获得GsonConverter包。我安装了来自google的gson.jar,但在这两个库中都没有一个名为“GsonConverterFactory”的类,这是我解析JSON所必需的。编辑:我在Windows上。 最佳答案 添加compile'com.squareup.retrofit:converter-gson:2.0.0-beta2'给您的build.gra

java - Gson:如何更改枚举的输出

我有这个枚举:enumRequestStatus{OK(200),NOT_FOUND(400);privatefinalintcode;RequestStatus(intcode){this.code=code;}publicintgetCode(){returnthis.code;}};在我的请求类中,我有这个字段:privateRequestStatusstatus。当使用Gson将Java对象转换为JSON时,结果如下:"status":"OK"如何更改我的GsonBuilder或我的Enum对象以提供如下输出:"status":{"value":"OK","code":200}

java - Gson 在序列化期间添加字段

我找不到在Gson序列化期间添加自定义字段的简单方法,我希望其他人可以提供帮助。这是一个展示我的问题的示例类:publicclassA{Stringid;Stringname;...}当我序列化A类时,我想返回如下内容:{"id":"123","name":"JohnDoe","url_to_user":"http://www.example.com/123"}其中url_to_user不存储在我的A类实例中,但可以使用A类实例中的数据生成。有没有一种简单的方法可以做到这一点?我宁愿避免仅仅为了添加一个字段而编写整个序列化程序。 最佳答案